#include <iostream>
#include <unistd.h>
#include <signal.h>
// #include <sys/types.h>
// #include <sys/wait.h>

void myhandler(int signal)
{
    std::cout << "signal: " << signal << " pid: " << getpid() << std::endl;
}

int main()
{
    for(int i = 1; i <= 31; ++i)
    {
        signal(i, myhandler);
    }

    while(true)
    {
        sleep(1);
    }
    // pid_t id = fork();
    // if(id == 0)
    // {
    //     printf("I am child!!!\n");
    //     int *p = nullptr;
    //     *p = 100;

    //     exit(0);
    // }

    // int stutas = 0;
    // pid_t rid = waitpid(-1, &stutas, 0);
    // printf("exitcode: %d, coredump: %d, signalkill: %d\n", 
    //     (stutas>>8)&0xFF, (stutas>>7)&1, stutas&0x7F);
    
    return 0;
}
